using System;

namespace SBPweb.Data.Generic
{

	/// <summary>
	/// Interface of Repositories
	/// </summary>
	/// <typeparam name="TDomainObject"></typeparam>
	public interface IRepository<TDomainObject>
	{
		/// <summary>
		/// Starts transaction
		/// </summary>
		void BeginTransaction();
		/// <summary>
		/// Commits transaction
		/// </summary>
		/// <param name="item">TDomainObject item</param>
		void Commit(TDomainObject item);
		/// <summary>
		/// Rollbacks transaction
		/// </summary>
		/// <param name="item">TDomainObject item</param>
		void Rollback(TDomainObject item);
	}
}
